Revert "gdk_pixbuf_get_from_window: honor device scale"
authorBenjamin Otte <otte@redhat.com>
Sun, 29 Nov 2015 03:49:20 +0000 (04:49 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 1 Dec 2015 23:29:29 +0000 (00:29 +0100)
This reverts commit 657a43e54e7721fced8ef0e6808271838f14697f.

The commit breaks the assumptions about the arguments in both
gdk_pixbuf_get_from_window() and gdk_pixbuf_get_from_surface().

https://bugzilla.gnome.org/show_bug.cgi?id=757147

gdk/gdkpixbuf-drawable.c

index 0647e3c00d9283f8ff1e062534355237000093a6..ae6e7dae8fa1f847d8cf73f23e6735079184f68f 100644 (file)
@@ -47,8 +47,8 @@
  * @window: Source window
  * @src_x: Source X coordinate within @window
  * @src_y: Source Y coordinate within @window
- * @width: Width in logical pixels of region to get
- * @height: Height in logical pixels of region to get
+ * @width: Width in pixels of region to get
+ * @height: Height in pixels of region to get
  *
  * Transfers image data from a #GdkWindow and converts it to an RGB(A)
  * representation inside a #GdkPixbuf. In other words, copies
@@ -88,13 +88,10 @@ gdk_pixbuf_get_from_window (GdkWindow *src,
 {
   cairo_surface_t *surface;
   GdkPixbuf *dest;
-  gint scale;
 
   g_return_val_if_fail (GDK_IS_WINDOW (src), NULL);
   g_return_val_if_fail (gdk_window_is_viewable (src), NULL);
 
-  scale = gdk_window_get_scale_factor (src);
-
   surface = _gdk_window_ref_cairo_surface (src);
 
   /* We do not know what happened to this surface outside of GDK.
@@ -105,8 +102,8 @@ gdk_pixbuf_get_from_window (GdkWindow *src,
   cairo_surface_mark_dirty (surface);
 
   dest = gdk_pixbuf_get_from_surface (surface,
-                                      scale * src_x, scale * src_y,
-                                      scale * width, scale * height);
+                                      src_x, src_y,
+                                      width, height);
   cairo_surface_destroy (surface);
 
   return dest;
@@ -137,16 +134,11 @@ gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface,
 {
   cairo_surface_t *copy;
   cairo_t *cr;
-  double sx, sy;
-
-  cairo_surface_get_device_scale (surface, &sx, &sy);
 
   copy = cairo_image_surface_create (gdk_cairo_format_for_content (content),
                                      width,
                                      height);
 
-  cairo_surface_set_device_scale (copy, sx, sy);
-
   cr = cairo_create (copy);
   cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
   cairo_set_source_surface (cr, surface, -src_x, -src_y);